// 导入express模块
const express = require('express')
const path = require('path')
// 创建express服务器实例
const app = express()
// 导入cors中间件，配置跨域
const cors = require('cors')
// 导入cookie-parser中间件
const cookieParser = require('cookie-parser')

// 将cors注册为全局中间件
app.use(cors({
  origin: ['http://localhost:5173',
    'http://localhost:3000',
  ], // 前端地址
  credentials: true // 允许携带凭证（cookies）
}))

// 注册cookie-parser中间件
app.use(cookieParser())

// 没有配置json返回的是undefined  没有配置urlencoded返回的是{}
// 配置解析表单数据的中间件(application/x-www-form-urlencoded格式)
app.use(express.urlencoded({ extended: false }))
// 配置解析json数据的中间件
app.use(express.json())

// 托管静态资源
app.use('/canvas-images', express.static(path.join(__dirname, 'public/canvas-images')))
app.use('/avatars', express.static(path.join(__dirname, 'public/avatars')))

// 注册路由
// 导入并注册用户路由模块
const userRouter = require('./router/user')
app.use('/api/user', userRouter)
// 导入并注册用户信息路由模块
const userInfoRouter = require('./router/userInfo')
app.use('/api/userinfo', userInfoRouter)
// 导入并注册t oken路由模块
const tokenRouter = require('./router/token')
app.use('/api/token', tokenRouter)
// 导入并注册画布路由模块
const imageRouter = require('./router/image')
app.use('/api/image', imageRouter)

// 调用app.listen方法，指定端口号并启动web服务器
app.listen(3333, () => {
  console.log('服务器http://localhost:3333正在启动。。。')
})